package cn.jussi.mvcproject.service;

import java.util.List;

import cn.jussi.mvcproject.model.User;

public interface Userservice {
	/**
	 * 实现插入一条新用户数据
	 * @param user
	 * @return
	 */
	public int save(User user);
	
	/**
	 * 根据用户编号删除对应的用户数据
	 * @param id
	 * @return
	 */
	public int deleteUserById(int id);
	
	/**
	 * 根据用户Id修改对应的用户数据
	 * @param id
	 * @return
	 */
	public int updateUserById(User user);
	
	/**
	 * 根据用户编号获取一条用户数据，封装成类User的一个对象(不支持事务)
	 * @param id
	 * @return
	 */
	public User get(int id);
	
	/**
	 * 根据用户编号获取一条用户数据，封装成类User的一个对象(支持事务)
	 */
	public User getTransation(int id);
	
	/**
	 * 获取所有的用户数据
	 * @return
	 */
	public List<User> getListAll();
	
	/**
	 * 查询指定用户名的用户有多少
	 * @param username
	 * @return
	 */
	public int getCountByName(String username);

	/**
	 * 模糊查询用户的方法
	 * @param username
	 * @param address
	 * @param phoneNum
	 * @return
	 */
	public List<User> query(String username, String address, String phoneNum);

	/**
	 * 判断用户名和密码是否匹配的方法
	 * @param username
	 * @param password
	 * @return
	 */
	public User login(String username, String password);
}
